#include "MacroName2Value.h"


std::map<std::string, DWORD> MacroName2Value::NameValueMap;


MacroName2Value::MacroName2Value()
{
#define MAP_MACRO(wm) NameValueMap.insert(std::make_pair(#wm, wm))

	if (NameValueMap.size() == 0)
	{
		MAP_MACRO(WM_NULL);
		MAP_MACRO(WM_CREATE);
		MAP_MACRO(WM_DESTROY);
		MAP_MACRO(WM_MOVE);
		MAP_MACRO(WM_SIZE);
		MAP_MACRO(WM_ACTIVATE);
		MAP_MACRO(WM_SETFOCUS);
		MAP_MACRO(WM_KILLFOCUS);
		MAP_MACRO(WM_ENABLE);
		MAP_MACRO(WM_SETREDRAW);
		MAP_MACRO(WM_SETTEXT);
		MAP_MACRO(WM_GETTEXT);
		MAP_MACRO(WM_GETTEXTLENGTH);
		MAP_MACRO(WM_PAINT);
		MAP_MACRO(WM_CLOSE);
		MAP_MACRO(WM_QUERYENDSESSION);
		MAP_MACRO(WM_QUERYOPEN);
		MAP_MACRO(WM_ENDSESSION);
		MAP_MACRO(WM_QUIT);
		MAP_MACRO(WM_ERASEBKGND);
		MAP_MACRO(WM_SYSCOLORCHANGE);
		MAP_MACRO(WM_SHOWWINDOW);
		MAP_MACRO(WM_WININICHANGE);
		MAP_MACRO(WM_SETTINGCHANGE);
		MAP_MACRO(WM_DEVMODECHANGE);
		MAP_MACRO(WM_ACTIVATEAPP);
		MAP_MACRO(WM_FONTCHANGE);
		MAP_MACRO(WM_TIMECHANGE);
		MAP_MACRO(WM_CANCELMODE);
		MAP_MACRO(WM_SETCURSOR);
		MAP_MACRO(WM_MOUSEACTIVATE);
		MAP_MACRO(WM_CHILDACTIVATE);
		MAP_MACRO(WM_QUEUESYNC);
		MAP_MACRO(WM_GETMINMAXINFO);
		MAP_MACRO(WM_PAINTICON);
		MAP_MACRO(WM_ICONERASEBKGND);
		MAP_MACRO(WM_NEXTDLGCTL);
		MAP_MACRO(WM_SPOOLERSTATUS);
		MAP_MACRO(WM_DRAWITEM);
		MAP_MACRO(WM_MEASUREITEM);
		MAP_MACRO(WM_DELETEITEM);
		MAP_MACRO(WM_VKEYTOITEM);
		MAP_MACRO(WM_CHARTOITEM);
		MAP_MACRO(WM_SETFONT);
		MAP_MACRO(WM_GETFONT);
		MAP_MACRO(WM_SETHOTKEY);
		MAP_MACRO(WM_GETHOTKEY);
		MAP_MACRO(WM_QUERYDRAGICON);
		MAP_MACRO(WM_COMPAREITEM);
		MAP_MACRO(WM_GETOBJECT);
		MAP_MACRO(WM_COMPACTING);
		MAP_MACRO(WM_COMMNOTIFY);
		MAP_MACRO(WM_WINDOWPOSCHANGING);
		MAP_MACRO(WM_WINDOWPOSCHANGED);
		MAP_MACRO(WM_POWER);
		MAP_MACRO(WM_COPYDATA);
		MAP_MACRO(WM_CANCELJOURNAL);
		MAP_MACRO(WM_NOTIFY);
		MAP_MACRO(WM_INPUTLANGCHANGEREQUEST);
		MAP_MACRO(WM_INPUTLANGCHANGE);
		MAP_MACRO(WM_TCARD);
		MAP_MACRO(WM_HELP);
		MAP_MACRO(WM_USERCHANGED);
		MAP_MACRO(WM_NOTIFYFORMAT);
		MAP_MACRO(WM_CONTEXTMENU);
		MAP_MACRO(WM_STYLECHANGING);
		MAP_MACRO(WM_STYLECHANGED);
		MAP_MACRO(WM_DISPLAYCHANGE);
		MAP_MACRO(WM_GETICON);
		MAP_MACRO(WM_SETICON);
		MAP_MACRO(WM_NCCREATE);
		MAP_MACRO(WM_NCDESTROY);
		MAP_MACRO(WM_NCCALCSIZE);
		MAP_MACRO(WM_NCHITTEST);
		MAP_MACRO(WM_NCPAINT);
		MAP_MACRO(WM_NCACTIVATE);
		MAP_MACRO(WM_GETDLGCODE);
		MAP_MACRO(WM_SYNCPAINT);
		MAP_MACRO(WM_NCMOUSEMOVE);
		MAP_MACRO(WM_NCLBUTTONDOWN);
		MAP_MACRO(WM_NCLBUTTONUP);
		MAP_MACRO(WM_NCLBUTTONDBLCLK);
		MAP_MACRO(WM_NCRBUTTONDOWN);
		MAP_MACRO(WM_NCRBUTTONUP);
		MAP_MACRO(WM_NCRBUTTONDBLCLK);
		MAP_MACRO(WM_NCMBUTTONDOWN);
		MAP_MACRO(WM_NCMBUTTONUP);
		MAP_MACRO(WM_NCMBUTTONDBLCLK);
		MAP_MACRO(WM_NCXBUTTONDOWN);
		MAP_MACRO(WM_NCXBUTTONUP);
		MAP_MACRO(WM_NCXBUTTONDBLCLK);
		MAP_MACRO(WM_INPUT_DEVICE_CHANGE);
		MAP_MACRO(WM_INPUT);
		MAP_MACRO(WM_KEYFIRST);
		MAP_MACRO(WM_KEYDOWN);
		MAP_MACRO(WM_KEYUP);
		MAP_MACRO(WM_CHAR);
		MAP_MACRO(WM_DEADCHAR);
		MAP_MACRO(WM_SYSKEYDOWN);
		MAP_MACRO(WM_SYSKEYUP);
		MAP_MACRO(WM_SYSCHAR);
		MAP_MACRO(WM_SYSDEADCHAR);
		MAP_MACRO(WM_UNICHAR);
		MAP_MACRO(WM_KEYLAST);
		MAP_MACRO(UNICODE_NOCHAR);
		MAP_MACRO(WM_KEYLAST);
		MAP_MACRO(WM_IME_STARTCOMPOSITION);
		MAP_MACRO(WM_IME_ENDCOMPOSITION);
		MAP_MACRO(WM_IME_COMPOSITION);
		MAP_MACRO(WM_IME_KEYLAST);
		MAP_MACRO(WM_INITDIALOG);
		MAP_MACRO(WM_COMMAND);
		MAP_MACRO(WM_SYSCOMMAND);
		MAP_MACRO(WM_TIMER);
		MAP_MACRO(WM_HSCROLL);
		MAP_MACRO(WM_VSCROLL);
		MAP_MACRO(WM_INITMENU);
		MAP_MACRO(WM_INITMENUPOPUP);
		MAP_MACRO(WM_GESTURE);
		MAP_MACRO(WM_GESTURENOTIFY);
		MAP_MACRO(WM_MENUSELECT);
		MAP_MACRO(WM_MENUCHAR);
		MAP_MACRO(WM_ENTERIDLE);
		MAP_MACRO(WM_MENURBUTTONUP);
		MAP_MACRO(WM_MENUDRAG);
		MAP_MACRO(WM_MENUGETOBJECT);
		MAP_MACRO(WM_UNINITMENUPOPUP);
		MAP_MACRO(WM_MENUCOMMAND);
		MAP_MACRO(WM_CHANGEUISTATE);
		MAP_MACRO(WM_UPDATEUISTATE);
		MAP_MACRO(WM_QUERYUISTATE);
		MAP_MACRO(WM_CTLCOLORMSGBOX);
		MAP_MACRO(WM_CTLCOLOREDIT);
		MAP_MACRO(WM_CTLCOLORLISTBOX);
		MAP_MACRO(WM_CTLCOLORBTN);
		MAP_MACRO(WM_CTLCOLORDLG);
		MAP_MACRO(WM_CTLCOLORSCROLLBAR);
		MAP_MACRO(WM_CTLCOLORSTATIC);
		MAP_MACRO(MN_GETHMENU);
		MAP_MACRO(WM_MOUSEFIRST);
		MAP_MACRO(WM_MOUSEMOVE);
		MAP_MACRO(WM_LBUTTONDOWN);
		MAP_MACRO(WM_LBUTTONUP);
		MAP_MACRO(WM_LBUTTONDBLCLK);
		MAP_MACRO(WM_RBUTTONDOWN);
		MAP_MACRO(WM_RBUTTONUP);
		MAP_MACRO(WM_RBUTTONDBLCLK);
		MAP_MACRO(WM_MBUTTONDOWN);
		MAP_MACRO(WM_MBUTTONUP);
		MAP_MACRO(WM_MBUTTONDBLCLK);
		MAP_MACRO(WM_MOUSEWHEEL);
		MAP_MACRO(WM_XBUTTONDOWN);
		MAP_MACRO(WM_XBUTTONUP);
		MAP_MACRO(WM_XBUTTONDBLCLK);
		MAP_MACRO(WM_MOUSEHWHEEL);
		MAP_MACRO(WM_MOUSELAST);
		MAP_MACRO(WM_MOUSELAST);
		MAP_MACRO(WM_MOUSELAST);
		MAP_MACRO(WM_MOUSELAST);
		MAP_MACRO(WM_PARENTNOTIFY);
		MAP_MACRO(WM_ENTERMENULOOP);
		MAP_MACRO(WM_EXITMENULOOP);
		MAP_MACRO(WM_NEXTMENU);
		MAP_MACRO(WM_SIZING);
		MAP_MACRO(WM_CAPTURECHANGED);
		MAP_MACRO(WM_MOVING);
		MAP_MACRO(WM_POWERBROADCAST);
		MAP_MACRO(WM_DEVICECHANGE);
		MAP_MACRO(WM_MDICREATE);
		MAP_MACRO(WM_MDIDESTROY);
		MAP_MACRO(WM_MDIACTIVATE);
		MAP_MACRO(WM_MDIRESTORE);
		MAP_MACRO(WM_MDINEXT);
		MAP_MACRO(WM_MDIMAXIMIZE);
		MAP_MACRO(WM_MDITILE);
		MAP_MACRO(WM_MDICASCADE);
		MAP_MACRO(WM_MDIICONARRANGE);
		MAP_MACRO(WM_MDIGETACTIVE);
		MAP_MACRO(WM_MDISETMENU);
		MAP_MACRO(WM_ENTERSIZEMOVE);
		MAP_MACRO(WM_EXITSIZEMOVE);
		MAP_MACRO(WM_DROPFILES);
		MAP_MACRO(WM_MDIREFRESHMENU);
		MAP_MACRO(WM_POINTERDEVICECHANGE);
		MAP_MACRO(WM_POINTERDEVICEINRANGE);
		MAP_MACRO(WM_POINTERDEVICEOUTOFRANGE);
		MAP_MACRO(WM_TOUCH);
		MAP_MACRO(WM_NCPOINTERUPDATE);
		MAP_MACRO(WM_NCPOINTERDOWN);
		MAP_MACRO(WM_NCPOINTERUP);
		MAP_MACRO(WM_POINTERUPDATE);
		MAP_MACRO(WM_POINTERDOWN);
		MAP_MACRO(WM_POINTERUP);
		MAP_MACRO(WM_POINTERENTER);
		MAP_MACRO(WM_POINTERLEAVE);
		MAP_MACRO(WM_POINTERACTIVATE);
		MAP_MACRO(WM_POINTERCAPTURECHANGED);
		MAP_MACRO(WM_TOUCHHITTESTING);
		MAP_MACRO(WM_POINTERWHEEL);
		MAP_MACRO(WM_POINTERHWHEEL);
		MAP_MACRO(DM_POINTERHITTEST);
		MAP_MACRO(WM_POINTERROUTEDTO);
		MAP_MACRO(WM_POINTERROUTEDAWAY);
		MAP_MACRO(WM_POINTERROUTEDRELEASED);
		MAP_MACRO(WM_IME_SETCONTEXT);
		MAP_MACRO(WM_IME_NOTIFY);
		MAP_MACRO(WM_IME_CONTROL);
		MAP_MACRO(WM_IME_COMPOSITIONFULL);
		MAP_MACRO(WM_IME_SELECT);
		MAP_MACRO(WM_IME_CHAR);
		MAP_MACRO(WM_IME_REQUEST);
		MAP_MACRO(WM_IME_KEYDOWN);
		MAP_MACRO(WM_IME_KEYUP);
		MAP_MACRO(WM_MOUSEHOVER);
		MAP_MACRO(WM_MOUSELEAVE);
		MAP_MACRO(WM_NCMOUSEHOVER);
		MAP_MACRO(WM_NCMOUSELEAVE);
		MAP_MACRO(WM_WTSSESSION_CHANGE);
		MAP_MACRO(WM_TABLET_FIRST);
		MAP_MACRO(WM_TABLET_LAST);
		MAP_MACRO(WM_DPICHANGED);
		MAP_MACRO(WM_DPICHANGED_BEFOREPARENT);
		MAP_MACRO(WM_DPICHANGED_AFTERPARENT);
		MAP_MACRO(WM_GETDPISCALEDSIZE);
		MAP_MACRO(WM_CUT);
		MAP_MACRO(WM_COPY);
		MAP_MACRO(WM_PASTE);
		MAP_MACRO(WM_CLEAR);
		MAP_MACRO(WM_UNDO);
		MAP_MACRO(WM_RENDERFORMAT);
		MAP_MACRO(WM_RENDERALLFORMATS);
		MAP_MACRO(WM_DESTROYCLIPBOARD);
		MAP_MACRO(WM_DRAWCLIPBOARD);
		MAP_MACRO(WM_PAINTCLIPBOARD);
		MAP_MACRO(WM_VSCROLLCLIPBOARD);
		MAP_MACRO(WM_SIZECLIPBOARD);
		MAP_MACRO(WM_ASKCBFORMATNAME);
		MAP_MACRO(WM_CHANGECBCHAIN);
		MAP_MACRO(WM_HSCROLLCLIPBOARD);
		MAP_MACRO(WM_QUERYNEWPALETTE);
		MAP_MACRO(WM_PALETTEISCHANGING);
		MAP_MACRO(WM_PALETTECHANGED);
		MAP_MACRO(WM_HOTKEY);
		MAP_MACRO(WM_PRINT);
		MAP_MACRO(WM_PRINTCLIENT);
		MAP_MACRO(WM_APPCOMMAND);
		MAP_MACRO(WM_THEMECHANGED);
		MAP_MACRO(WM_CLIPBOARDUPDATE);
		MAP_MACRO(WM_DWMCOMPOSITIONCHANGED);
		MAP_MACRO(WM_DWMNCRENDERINGCHANGED);
		MAP_MACRO(WM_DWMCOLORIZATIONCOLORCHANGED);
		MAP_MACRO(WM_DWMWINDOWMAXIMIZEDCHANGE);
		MAP_MACRO(WM_DWMSENDICONICTHUMBNAIL);
		MAP_MACRO(WM_DWMSENDICONICLIVEPREVIEWBITMAP);
		MAP_MACRO(WM_GETTITLEBARINFOEX);
		MAP_MACRO(WM_HANDHELDFIRST);
		MAP_MACRO(WM_HANDHELDLAST);
		MAP_MACRO(WM_AFXFIRST);
		MAP_MACRO(WM_AFXLAST);
		MAP_MACRO(WM_PENWINFIRST);
		MAP_MACRO(WM_PENWINLAST);
		MAP_MACRO(WM_APP);
		MAP_MACRO(WM_USER);

		MAP_MACRO(VK_LBUTTON);
		MAP_MACRO(VK_RBUTTON);
		MAP_MACRO(VK_CANCEL);
		MAP_MACRO(VK_MBUTTON);
		MAP_MACRO(VK_XBUTTON1);
		MAP_MACRO(VK_XBUTTON2);
		MAP_MACRO(VK_BACK);
		MAP_MACRO(VK_TAB);
		MAP_MACRO(VK_CLEAR);
		MAP_MACRO(VK_RETURN);
		MAP_MACRO(VK_SHIFT);
		MAP_MACRO(VK_CONTROL);
		MAP_MACRO(VK_MENU);
		MAP_MACRO(VK_PAUSE);
		MAP_MACRO(VK_CAPITAL);
		MAP_MACRO(VK_KANA);
		MAP_MACRO(VK_HANGEUL);
		MAP_MACRO(VK_HANGUL);
		MAP_MACRO(VK_IME_ON);
		MAP_MACRO(VK_JUNJA);
		MAP_MACRO(VK_FINAL);
		MAP_MACRO(VK_HANJA);
		MAP_MACRO(VK_KANJI);
		MAP_MACRO(VK_IME_OFF);
		MAP_MACRO(VK_ESCAPE);
		MAP_MACRO(VK_CONVERT);
		MAP_MACRO(VK_NONCONVERT);
		MAP_MACRO(VK_ACCEPT);
		MAP_MACRO(VK_MODECHANGE);
		MAP_MACRO(VK_SPACE);
		MAP_MACRO(VK_PRIOR);
		MAP_MACRO(VK_NEXT);
		MAP_MACRO(VK_END);
		MAP_MACRO(VK_HOME);
		MAP_MACRO(VK_LEFT);
		MAP_MACRO(VK_UP);
		MAP_MACRO(VK_RIGHT);
		MAP_MACRO(VK_DOWN);
		MAP_MACRO(VK_SELECT);
		MAP_MACRO(VK_PRINT);
		MAP_MACRO(VK_EXECUTE);
		MAP_MACRO(VK_SNAPSHOT);
		MAP_MACRO(VK_INSERT);
		MAP_MACRO(VK_DELETE);
		MAP_MACRO(VK_HELP);
		MAP_MACRO(VK_LWIN);
		MAP_MACRO(VK_RWIN);
		MAP_MACRO(VK_APPS);
		MAP_MACRO(VK_SLEEP);
		MAP_MACRO(VK_NUMPAD0);
		MAP_MACRO(VK_NUMPAD1);
		MAP_MACRO(VK_NUMPAD2);
		MAP_MACRO(VK_NUMPAD3);
		MAP_MACRO(VK_NUMPAD4);
		MAP_MACRO(VK_NUMPAD5);
		MAP_MACRO(VK_NUMPAD6);
		MAP_MACRO(VK_NUMPAD7);
		MAP_MACRO(VK_NUMPAD8);
		MAP_MACRO(VK_NUMPAD9);
		MAP_MACRO(VK_MULTIPLY);
		MAP_MACRO(VK_ADD);
		MAP_MACRO(VK_SEPARATOR);
		MAP_MACRO(VK_SUBTRACT);
		MAP_MACRO(VK_DECIMAL);
		MAP_MACRO(VK_DIVIDE);
		MAP_MACRO(VK_F1);
		MAP_MACRO(VK_F2);
		MAP_MACRO(VK_F3);
		MAP_MACRO(VK_F4);
		MAP_MACRO(VK_F5);
		MAP_MACRO(VK_F6);
		MAP_MACRO(VK_F7);
		MAP_MACRO(VK_F8);
		MAP_MACRO(VK_F9);
		MAP_MACRO(VK_F10);
		MAP_MACRO(VK_F11);
		MAP_MACRO(VK_F12);
		MAP_MACRO(VK_F13);
		MAP_MACRO(VK_F14);
		MAP_MACRO(VK_F15);
		MAP_MACRO(VK_F16);
		MAP_MACRO(VK_F17);
		MAP_MACRO(VK_F18);
		MAP_MACRO(VK_F19);
		MAP_MACRO(VK_F20);
		MAP_MACRO(VK_F21);
		MAP_MACRO(VK_F22);
		MAP_MACRO(VK_F23);
		MAP_MACRO(VK_F24);
		MAP_MACRO(VK_NAVIGATION_VIEW);
		MAP_MACRO(VK_NAVIGATION_MENU);
		MAP_MACRO(VK_NAVIGATION_UP);
		MAP_MACRO(VK_NAVIGATION_DOWN);
		MAP_MACRO(VK_NAVIGATION_LEFT);
		MAP_MACRO(VK_NAVIGATION_RIGHT);
		MAP_MACRO(VK_NAVIGATION_ACCEPT);
		MAP_MACRO(VK_NAVIGATION_CANCEL);
		MAP_MACRO(VK_NUMLOCK);
		MAP_MACRO(VK_SCROLL);
		MAP_MACRO(VK_OEM_NEC_EQUAL);
		MAP_MACRO(VK_OEM_FJ_JISHO);
		MAP_MACRO(VK_OEM_FJ_MASSHOU);
		MAP_MACRO(VK_OEM_FJ_TOUROKU);
		MAP_MACRO(VK_OEM_FJ_LOYA);
		MAP_MACRO(VK_OEM_FJ_ROYA);
		MAP_MACRO(VK_LSHIFT);
		MAP_MACRO(VK_RSHIFT);
		MAP_MACRO(VK_LCONTROL);
		MAP_MACRO(VK_RCONTROL);
		MAP_MACRO(VK_LMENU);
		MAP_MACRO(VK_RMENU);
		MAP_MACRO(VK_BROWSER_BACK);
		MAP_MACRO(VK_BROWSER_FORWARD);
		MAP_MACRO(VK_BROWSER_REFRESH);
		MAP_MACRO(VK_BROWSER_STOP);
		MAP_MACRO(VK_BROWSER_SEARCH);
		MAP_MACRO(VK_BROWSER_FAVORITES);
		MAP_MACRO(VK_BROWSER_HOME);
		MAP_MACRO(VK_VOLUME_MUTE);
		MAP_MACRO(VK_VOLUME_DOWN);
		MAP_MACRO(VK_VOLUME_UP);
		MAP_MACRO(VK_MEDIA_NEXT_TRACK);
		MAP_MACRO(VK_MEDIA_PREV_TRACK);
		MAP_MACRO(VK_MEDIA_STOP);
		MAP_MACRO(VK_MEDIA_PLAY_PAUSE);
		MAP_MACRO(VK_LAUNCH_MAIL);
		MAP_MACRO(VK_LAUNCH_MEDIA_SELECT);
		MAP_MACRO(VK_LAUNCH_APP1);
		MAP_MACRO(VK_LAUNCH_APP2);
		MAP_MACRO(VK_OEM_1);
		MAP_MACRO(VK_OEM_PLUS);
		MAP_MACRO(VK_OEM_COMMA);
		MAP_MACRO(VK_OEM_MINUS);
		MAP_MACRO(VK_OEM_PERIOD);
		MAP_MACRO(VK_OEM_2);
		MAP_MACRO(VK_OEM_3);
		MAP_MACRO(VK_GAMEPAD_A);
		MAP_MACRO(VK_GAMEPAD_B);
		MAP_MACRO(VK_GAMEPAD_X);
		MAP_MACRO(VK_GAMEPAD_Y);
		MAP_MACRO(VK_GAMEPAD_RIGHT_SHOULDER);
		MAP_MACRO(VK_GAMEPAD_LEFT_SHOULDER);
		MAP_MACRO(VK_GAMEPAD_LEFT_TRIGGER);
		MAP_MACRO(VK_GAMEPAD_RIGHT_TRIGGER);
		MAP_MACRO(VK_GAMEPAD_DPAD_UP);
		MAP_MACRO(VK_GAMEPAD_DPAD_DOWN);
		MAP_MACRO(VK_GAMEPAD_DPAD_LEFT);
		MAP_MACRO(VK_GAMEPAD_DPAD_RIGHT);
		MAP_MACRO(VK_GAMEPAD_MENU);
		MAP_MACRO(VK_GAMEPAD_VIEW);
		MAP_MACRO(VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON);
		MAP_MACRO(VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON);
		MAP_MACRO(VK_GAMEPAD_LEFT_THUMBSTICK_UP);
		MAP_MACRO(VK_GAMEPAD_LEFT_THUMBSTICK_DOWN);
		MAP_MACRO(VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT);
		MAP_MACRO(VK_GAMEPAD_LEFT_THUMBSTICK_LEFT);
		MAP_MACRO(VK_GAMEPAD_RIGHT_THUMBSTICK_UP);
		MAP_MACRO(VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN);
		MAP_MACRO(VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT);
		MAP_MACRO(VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT);
		MAP_MACRO(VK_OEM_4);
		MAP_MACRO(VK_OEM_5);
		MAP_MACRO(VK_OEM_6);
		MAP_MACRO(VK_OEM_7);
		MAP_MACRO(VK_OEM_8);
		MAP_MACRO(VK_OEM_AX);
		MAP_MACRO(VK_OEM_102);
		MAP_MACRO(VK_ICO_HELP);
		MAP_MACRO(VK_ICO_00);
		MAP_MACRO(VK_PROCESSKEY);
		MAP_MACRO(VK_ICO_CLEAR);
		MAP_MACRO(VK_PACKET);
		MAP_MACRO(VK_OEM_RESET);
		MAP_MACRO(VK_OEM_JUMP);
		MAP_MACRO(VK_OEM_PA1);
		MAP_MACRO(VK_OEM_PA2);
		MAP_MACRO(VK_OEM_PA3);
		MAP_MACRO(VK_OEM_WSCTRL);
		MAP_MACRO(VK_OEM_CUSEL);
		MAP_MACRO(VK_OEM_ATTN);
		MAP_MACRO(VK_OEM_FINISH);
		MAP_MACRO(VK_OEM_COPY);
		MAP_MACRO(VK_OEM_AUTO);
		MAP_MACRO(VK_OEM_ENLW);
		MAP_MACRO(VK_OEM_BACKTAB);
		MAP_MACRO(VK_ATTN);
		MAP_MACRO(VK_CRSEL);
		MAP_MACRO(VK_EXSEL);
		MAP_MACRO(VK_EREOF);
		MAP_MACRO(VK_PLAY);
		MAP_MACRO(VK_ZOOM);
		MAP_MACRO(VK_NONAME);
		MAP_MACRO(VK_PA1);
		MAP_MACRO(VK_OEM_CLEAR);
	}
}

DWORD MacroName2Value::GetValueByName(const std::string& mname, DWORD defVal/* = 0*/)
{
	auto itFinder = NameValueMap.find(mname.c_str());
	if (itFinder == NameValueMap.end())
		return defVal;
	return itFinder->second;
}
